package ar.uade.edu.fain.ad.server.dao.entity;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name = "LOCAL")
public class LocalEntity {

	@Id
	private Long id;

	@Column
	private String localDescripcion;
	@Column
	private String direccion;
	@Column
	private String localidad;
	@Column
	private String zona;

	public LocalEntity() {
		super();
	}

	@OneToMany(mappedBy = "local", fetch = FetchType.EAGER)
	private List<AreaEntity> areas;

	@OneToMany(mappedBy = "local")
	private List<CartaEntity> carta;

	@ManyToOne
	@JoinColumn(name = "idAdministracion")
	private AdministracionEntity administracion;

	@OneToOne
	@JoinColumn(name = "idDeposito")
	private DepositoEntity depositoLocal;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getLocalDescripcion() {
		return localDescripcion;
	}

	public void setLocalDescripcion(String localDescripcion) {
		this.localDescripcion = localDescripcion;
	}

	public String getDireccion() {
		return direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	public String getLocalidad() {
		return localidad;
	}

	public void setLocalidad(String localidad) {
		this.localidad = localidad;
	}

	public String getZona() {
		return zona;
	}

	public void setZona(String zona) {
		this.zona = zona;
	}

	public List<AreaEntity> getAreas() {
		return areas;
	}

	public void setAreas(List<AreaEntity> areas) {
		this.areas = areas;
	}

	public List<CartaEntity> getCarta() {
		return carta;
	}

	public void setCarta(List<CartaEntity> carta) {
		this.carta = carta;
	}

	public AdministracionEntity getAdministracion() {
		return administracion;
	}

	public void setAdministracion(AdministracionEntity administracion) {
		this.administracion = administracion;
	}

	public DepositoEntity getDepositoLocal() {
		return depositoLocal;
	}

	public void setDepositoLocal(DepositoEntity depositoLocal) {
		this.depositoLocal = depositoLocal;
	}
}
